home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 3 / BBS in a box - Trilogy III.iso / Files / Prog / D-G / FORTRAN Goodies / QuickTime Folder / ImageCodec.f < prev    next >
Encoding:
Text File  |  1992-10-23  |  5.6 KB  |  183 lines  |  [TEXT/MPS ]

  1. c    Created: Friday, September 27, 1991 10:04:39 AM
  2. c     ImageCodec.f
  3. c     FORTRAN Interface to the Macintosh Libraries
  4.  
  5. c     Copyright Apple Computer, Inc. 1991
  6. c     All rights reserved
  7.     
  8.     
  9.     
  10. !!IFC Not UsingIncludes
  11. !!I Zeroinc.f
  12. !!ENDC
  13. !!IFC Not GotQuickDraw
  14. !!I QuickDraw.f
  15. !!ENDC
  16. !!IFC NOt GotQDOffscreen
  17. !!I QDOffscreen.f
  18. !!ENDC
  19.     
  20. !!IFC Not GotTypes
  21. !!I Types.f
  22. !!ENDC
  23.     
  24. !!IFC Not GotComponents
  25. !!I Components.f
  26. !!ENDC
  27.     
  28. !!IFC not GotImageCompression
  29. !!I ImageCompression.f
  30. !!ENDC
  31.  
  32. !!IFC NOT GOTIMAGECODEC
  33. !!SETC GOTIMAGECODEC = true
  34.         
  35.     !    codec component selectors    
  36.     !    codec selectors 0-127 are reserved by Apple 
  37.     !    codec selectors 128-191 are subtype specific 
  38.     !    codec selectors 192-255 are vendor specific 
  39.     !     codec selectors 256-32767 are reserved by Apple 
  40.     !    negative selectors are reserved by the Component Manager 
  41.     
  42.     Integer*2*2 codecGetCodecInfo                    
  43.     Integer*2*2 codecGetCompressionTime                
  44.     Integer*2*2 codecGetMaxCompressionSize            
  45.     Integer*2*2 codecPreCompress                    
  46.     Integer*2*2 codecBandCompress                    
  47.     Integer*2*2 codecPreDecompress                    
  48.     Integer*2*2 codecBandDecompress                    
  49.     Integer*2*2 codecCDSequenceBusy                    
  50.     Integer*2*2 codecGetCompressedImageSize            
  51.     Integer*2*2 codecGetSimilarity                    
  52.     Integer*2*2 codecTrimImage                        
  53.     Integer*2*2 codecGetCodecInfo                    
  54.     Integer*2*2 codecGetCompressionTime                
  55.     Integer*2*2 codecGetMaxCompressionSize            
  56.     Parameter (codecPreCompress                = $03)
  57.     Parameter (codecBandCompress            = $04)
  58.     Parameter (codecPreDecompress            = $05)
  59.     Parameter (codecBandDecompress            = $06)
  60.     Parameter (codecCDSequenceBusy            = $07)
  61.     Parameter (codecGetCompressedImageSize    = $08)
  62.     Parameter (codecGetSimilarity            = $09)
  63.     Parameter (codecTrimImage                = $0a)
  64.     
  65.     
  66.     !    codec capabilities flags    
  67.     
  68.     Integer*2*2 codecCanScale                        
  69.     Integer*2*2 codecCanMask                        
  70.     Integer*2*2 codecCanMatte                        
  71.     Integer*2*2 codecCanTransform                    
  72.     Integer*2*2 codecCanTransferMode                
  73.     Integer*2*2 codecCanCopyPrev                    
  74.     Integer*2*2 codecCanSpool                        
  75.     Integer*2*2 codecCanClipVertical                
  76.     Integer*2*2 codecCanClipRectangular                
  77.     Integer*2*2 codecCanRemapColor                    
  78.     Integer*2*2 codecCanFastDither                    
  79.     Integer*2*2 codecCanSrcExtract                    
  80.     Integer*2*2 codecCanCopyPrevComp                
  81.     Integer*2*2 codecCanAsync                        
  82.     Integer*2*2 codecCanMakeMask                    
  83.     Integer*2*2 codecCanShift                        
  84.     Parameter (codecCanScale            = $1)
  85.     Parameter (codecCanMask                = $2)
  86.     Parameter (codecCanMatte            = $4)
  87.     Parameter (codecCanTransform        = $8)
  88.     Parameter (codecCanTransferMode        = $10)
  89.     Parameter (codecCanCopyPrev            = $20)
  90.     Parameter (codecCanSpool            = $40)
  91.     Parameter (codecCanClipVertical        = $80)
  92.     Parameter (codecCanClipRectangular    = $100)
  93.     Parameter (codecCanRemapColor        = $200)
  94.     Parameter (codecCanFastDither        = $400)
  95.     Parameter (codecCanSrcExtract        = $800)
  96.     Parameter (codecCanCopyPrevComp        = $1000)
  97.     Parameter (codecCanAsync            = $2000)
  98.     Parameter (codecCanMakeMask            = $4000)
  99.     Parameter (codecCanShift            = $8000)
  100.     
  101.     
  102.     
  103.     Integer*2*4 codecConditionFirstBand                
  104.     Integer*2*4 codecConditionLastBand                
  105.     Integer*2*4 codecConditionCodecChangedMask        
  106.     Parameter (codecConditionFirstBand            = $1)
  107.     Parameter (codecConditionLastBand            = $2)
  108.     Parameter (codecConditionCodecChangedMask    = $80000000)
  109.     
  110.     
  111.     
  112.     Character*4 codecInfoResourceType    
  113.     Parameter (codecInfoResourceType = 'cdci')    ! codec info resource type 
  114.     
  115.     Structure /CodecCapabilities /
  116.         Integer*4 flags
  117.         Integer*2 wantedPixelSize    
  118.         Integer*2 extendWidth
  119.         Integer*2 extendHeight
  120.         Integer*2 bandMin
  121.         Integer*2 bandInc
  122.         Integer*2 pad
  123.         Integer*2 time
  124.     End Structure
  125.     Structure /CodecCapabilitiesPtr /
  126.         Pointer /CodecCapabilities/ P
  127.     End Structure
  128.     
  129.     Structure /CodecCompressParams /
  130.         Record /ImageSequence/  sequenceID                         ! precompress,bandcompress 
  131.         Record /ImageDescriptionHandle/ imageDescription         ! precompress,bandcompress 
  132.         Record /Ptr/ data  
  133.         Integer*4 bufferSize  
  134.         Integer*4 frameNumber 
  135.         Integer*4 startLine 
  136.         Integer*4 stopLine 
  137.         Integer*4 conditionFlags 
  138.         Record /CodecFlags/ callerFlags  
  139.         Record /CodecCapabilitiesPtr/ capabilities             ! precompress,bandcompress   
  140.         Record /ProgressProcRecord/ progressProcRecord  
  141.         Record /CompletionProcRecord/ completionProcRecord      
  142.         Record /FlushProcRecord/ flushProcRecord  
  143.         Record /PixMap/ srcPixMap                                  ! precompress,bandcompress 
  144.         Record /PixMap/ prevPixMap  
  145.         Record /CodecQ/ spatialQuality  
  146.         Record /CodecQ/ temporalQuality  
  147.         Integer*4 similarity  
  148.         Integer*4 reserved(0:1)
  149.     End Structure
  150.     Structure /CodecCompressParamsPtr /
  151.         Pointer /CodecCompressParams/ P
  152.     End Structure
  153.     
  154.     Structure /CodecDecompressParams /
  155.         Record /ImageSequence/ sequenceID                          ! predecompress,banddecompress 
  156.         Record /ImageDescriptionHandle/ imageDescription          ! predecompress,banddecompress 
  157.         Record /Ptr/ data  
  158.         Integer*4 bufferSize  
  159.         Integer*4 frameNumber  
  160.         Integer*4 startLine  
  161.         Integer*4 stopLine  
  162.         Integer*4 conditionFlags  
  163.         Record /CodecFlags/ callerFlags  
  164.         Record /CodecCapabilitiesPtr/ capabilities              ! predecompress,banddecompress 
  165.         Record /ProgressProcRecord/ progressProcRecord  
  166.         Record /CompletionProcRecord/ completionProcRecord  
  167.         Record /DataProcRecord/ dataProcRecord  
  168.         Record /CGrafPtr/ port                                  ! predecompress,banddecompress 
  169.         Record /PixMap/ dstPixMap                                  ! predecompress,banddecompress 
  170.         Record /BitMapPtr/ maskBits  
  171.         Record /PixMapPtr/ mattePixMap  
  172.         Record /Rect/ srcRect                                      ! predecompress,banddecompress 
  173.         Record /MatrixRecordPtr/ matrix                          ! predecompress,banddecompress 
  174.         Record /CodecQ/ accuracy                                  ! predecompress,banddecompress 
  175.         Integer*2 transferMode                              ! predecompress,banddecompress 
  176.         Integer*4 reserved(0:1)                 
  177.     End Structure
  178.     Structure /CodecDecompressParamsPtr /
  179.         Pointer /CodecDecompressParams/ P
  180.     End Structure
  181.     
  182. !!ENDC ! GOTImageCodec 
  183.